package com.itheima.service;

import com.itheima.common.dto.CheckGroupDto;
import com.itheima.common.entity.PageResult;
import com.itheima.pojo.CheckGroup;

import java.util.List;

/**
 * 检查组Service接口
 *
 * @author itheima
 * @date 2025-03-22
 */
public interface ICheckGroupService {
    /**
     * 查询检查组
     *
     * @param id 检查组主键
     * @return 检查组
     */
    public CheckGroup selectCheckGroupById(Integer id);

    /**
     * 查询检查组列表
     *
     * @param checkGroupDto 检查组
     * @return 检查组集合
     */
    public PageResult selectCheckGroupList(CheckGroupDto checkGroupDto);

    /**
     * 新增检查组
     *
     * @param checkitemIds 关联检查项id
     * @param checkGroup   检查组
     * @return 结果
     */
    public int insertCheckGroup(List<Integer> checkitemIds, CheckGroup checkGroup);

    /**
     * 修改检查组
     * @param checkitemIds 检查项id集合
     * @param checkGroup 检查组
     * @return 结果
     */
    public int updateCheckGroup(List<Integer> checkitemIds, CheckGroup checkGroup);

    /**
     * 批量删除检查组
     *
     * @param ids 需要删除的检查组主键集合
     * @return 结果
     */
    public int deleteCheckGroupByIds(Integer[] ids);

    /**
     * 删除检查组信息
     *
     * @param id 检查组主键
     * @return 结果
     */
    public int deleteCheckGroupById(Integer id);

    /**
     * 根据套餐id查询检查组id集合
     * @param setmealId
     * @return
     */
    List<Integer> findCheckGroupIdsBySetmealId(Integer setmealId);

    /**
     * 查询所有检查组
     * @return
     */
    List<CheckGroup> selectCheckGroupAll();

}
